<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>volatility.plugins.addrspaces.standard.AbstractPagedMemory : API documentation</title>
    <meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
    <link href="apidocs.css" type="text/css" rel="stylesheet" />
    
    
  </head>
  <body>
    <h1 class="class">v.p.a.s.AbstractPagedMemory(<a href="volatility.addrspace.AbstractVirtualAddressSpace.html">addrspace.AbstractVirtualAddressSpace</a>) : class documentation</h1>
    <p>
      <span id="part">Part of <a href="volatility.html">volatility</a>.<a href="volatility.plugins.html">plugins</a>.<a href="volatility.plugins.addrspaces.html">addrspaces</a>.<a href="volatility.plugins.addrspaces.standard.html">standard</a></span>
      
      <a href="classIndex.html#volatility.plugins.addrspaces.standard.AbstractPagedMemory">View In Hierarchy</a>
    </p>
    <div>
      <p>Known subclasses: <a href="volatility.plugins.addrspaces.standard.AbstractWritablePagedMemory.html">volatility.plugins.addrspaces.standard.AbstractWritablePagedMemory</a></p>
    </div>
    <div>Class to handle all the associated details of a paged address space</p>
<p>Note: Pages can be of any size<table class="fieldTable"></table></div>

    
    
    <div id="splitTables">
      <table class="children sortable" id="id1244">
  
  
<tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.standard.AbstractPagedMemory.html#vtop">vtop</a></td>
    <td><span>Abstract function that converts virtual (paged) addresses to physical addresses</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.standard.AbstractPagedMemory.html#get_available_pages">get_available_pages</a></td>
    <td><span>A generator that returns (addr, size) for each of the virtual addresses present, sorted by offset</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.standard.AbstractPagedMemory.html#get_available_addresses">get_available_addresses</a></td>
    <td><span>A generator that returns (addr, size) for each valid address block</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.standard.AbstractPagedMemory.html#is_valid_address">is_valid_address</a></td>
    <td><span>Returns whether a virtual address is valid</span></td>
  </tr>
  
</table>
      
        <p>
          Inherited from <a href="volatility.addrspace.AbstractVirtualAddressSpace.html">AbstractVirtualAddressSpace</a>:
        </p>
        <table class="children sortable" id="id1245">
  
  
<tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.AbstractVirtualAddressSpace.html#__init__">__init__</a></td>
    <td><span>base is the AS we will be stacking on top of, opts are options which we may use.</span></td>
  </tr>
  
</table>
      
        <p>
          Inherited from <a href="volatility.addrspace.BaseAddressSpace.html">BaseAddressSpace</a> (via <a href="volatility.addrspace.AbstractVirtualAddressSpace.html">AbstractVirtualAddressSpace</a>):
        </p>
        <table class="children sortable" id="id1246">
  
  
<tr class="basestaticmethod">
    
    
    <td>Static Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#register_options">register_options</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#get_config">get_config</a></td>
    <td><span>Returns the config object used by the vm for use in other vms</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#is_valid_profile">is_valid_profile</a></td>
    <td><span>Determines whether a selected profile is compatible with this address space</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#as_assert">as_assert</a></td>
    <td><span>Duplicate for the assert command (so that optimizations don't disable them)</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#__eq__">__eq__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#__ne__">__ne__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#read">read</a></td>
    <td><span>Read some data from a certain offset</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#zread">zread</a></td>
    <td><span>Read data from a certain offset padded with where data is not available</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#write">write</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#__getstate__">__getstate__</a></td>
    <td><span>Serialise this address space efficiently</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#__setstate__">__setstate__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod private">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#_set_profile">_set_profile</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr>
  
</table>
      
      
    </div>
    
    
    

    <div class="function">
  <a name="volatility.plugins.addrspaces.standard.AbstractPagedMemory.vtop">
    
  </a>
  <a name="vtop">
    
  </a>
  <div class="functionHeader">
    
    def
    vtop(self, addr):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overrides <a href="volatility.addrspace.AbstractVirtualAddressSpace.html#vtop">volatility.addrspace.AbstractVirtualAddressSpace.vtop</a></div><div class="interfaceinfo">overridden in <a href="volatility.plugins.addrspaces.intel.JKIA32PagedMemory.html">volatility.plugins.addrspaces.intel.JKIA32PagedMemory</a>, <a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html">volatility.plugins.addrspaces.legacyintel.IA32PagedMemory</a></div>
    <div>Abstract function that converts virtual (paged) addresses to physical addresses<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.standard.AbstractPagedMemory.get_available_pages">
    
  </a>
  <a name="get_available_pages">
    
  </a>
  <div class="functionHeader">
    
    def
    get_available_pages(self):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overridden in <a href="volatility.plugins.addrspaces.intel.JKIA32PagedMemory.html">volatility.plugins.addrspaces.intel.JKIA32PagedMemory</a>, <a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html">volatility.plugins.addrspaces.legacyintel.IA32PagedMemory</a></div>
    <div>A generator that returns (addr, size) for each of the virtual addresses present, sorted by offset<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.standard.AbstractPagedMemory.get_available_addresses">
    
  </a>
  <a name="get_available_addresses">
    
  </a>
  <div class="functionHeader">
    
    def
    get_available_addresses(self):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overrides <a href="volatility.addrspace.BaseAddressSpace.html#get_available_addresses">volatility.addrspace.BaseAddressSpace.get_available_addresses</a></div>
    <div>A generator that returns (addr, size) for each valid address block<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.standard.AbstractPagedMemory.is_valid_address">
    
  </a>
  <a name="is_valid_address">
    
  </a>
  <div class="functionHeader">
    
    def
    is_valid_address(self, vaddr):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overrides <a href="volatility.addrspace.BaseAddressSpace.html#is_valid_address">volatility.addrspace.BaseAddressSpace.is_valid_address</a></div>
    <div>Returns whether a virtual address is valid<table class="fieldTable"></table></div>
  </div>
</div>
    <address>
      <a href="index.html">API Documentation</a> for Volatility 2.2, generated by <a href="http://codespeak.net/~mwh/pydoctor/">pydoctor</a> at 2013-06-24 15:16:10.
    </address>
  </body>
</html>